看板 java 關於我們 聯絡資訊
單純把JTextArea放進去就可以顯示出來 一但把它放進去JScrollPane在放進去就跑不出來了 不知道問題發生在哪邊.... import java.text.DecimalFormat; import javax.swing.*; import java.awt.event.*; import java.util.*; import java.awt.*; import java.awt.event.*; public class hahaha extends JFrame implements KeyListener{ private JLabel lsharp,linput,loutput; private JTextArea output; private String input = ""; public hahaha(){ super ("hahaha"); Container c = getContentPane(); c.setLayout(null); /// lsharp = new JLabel ("#"); lsharp.setBounds(10, 10, 20, 30); lsharp.setFont(new Font("新細明體", Font.BOLD, 30)); linput = new JLabel (input); linput.setBounds(30, 10, 400, 30); linput.setFont(new Font("新細明體", Font.BOLD, 30)); loutput = new JLabel ("test"); loutput.setBounds(30, 50, 400, 30); loutput.setFont(new Font("新細明體", Font.BOLD, 30)); loutput.setForeground(Color.red); output = new JTextArea(); output.setSize(465, 350); output.setText("TEST"); output.setLocation(10,100); c.add(linput); c.add(lsharp); c.add(loutput); //c.add(output); c.add(new JScrollPane(output)); addKeyListener(this); setSize(500,500); setVisible(true); } public static void main(String args[]){ hahah calc = new P_9617066(); calc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void keyPressed(KeyEvent e) { if (e.getKeyChar()=='0'){ input = input+e.getKeyChar(); linput.setText(input); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.249.101
tkcn:該設 location & size 的是 ScrollPane 而不是 TextArea 01/23 21:43
嗯嗯 解決了 不過為什麼我本來的KeyListener卻因此失效了 藍色的部分 ※ 編輯: Ctmate 來自: 140.113.249.101 (01/23 21:52)
tkcn:因為 focus 在 TextArea 上,你的鍵盤事件被 TextArea 接收了 01/23 21:54
囧...有辦法處理嗎? 我加了setEditable(false); 結果還是一樣 還是要用linput.addKeyListener這樣子 ※ 編輯: Ctmate 來自: 140.113.249.101 (01/23 22:00)
tkcn:對TextArea設setFocusable(false)看看,但我並不確定可行 01/24 00:05