我创建了一个GUI。它有几个按钮。我想在它们下面添加一个像对象一样的控制台,我可以在其中编写消息,以便用户可以看到它们。 我应该使用什么元素/对象/类?我希望它能够以不同的方式呈现消息。 这是我创建GUI的代码:
public ssGUI() {
setLayout(new BorderLayout());
bRunNoAdj = new JButton("Run no adjustment");
bRunNoAdj.setVerticalTextPosition(AbstractButton.CENTER);
bRunNoAdj.setHorizontalTextPosition(AbstractButton.LEADING);
bRunNoAdj.setMnemonic(KeyEvent.VK_E);
bRunNoAdj.addActionListener(this);
bRunNoAdj.setEnabled(false);
bRunNoAdj.setBackground(Color.white);
bRunAdj = new JButton("Run adjustment");
bRunAdj.setVerticalTextPosition(AbstractButton.CENTER);
bRunAdj.setHorizontalTextPosition(AbstractButton.LEADING);
bRunAdj.setMnemonic(KeyEvent.VK_E);
bRunAdj.addActionListener(this);
bRunAdj.setEnabled(false);
bRunAdj.setBackground(Color.white);
bConnect = new JButton("Connect");
bConnect.setMnemonic(KeyEvent.VK_E);
bConnect.addActionListener(this);
bConnect.setEnabled(true);
bConnect.setBackground(Color.white);
bDisconnect = new JButton("Disconnect");
bDisconnect.setMnemonic(KeyEvent.VK_E);
bDisconnect.addActionListener(this);
bDisconnect.setEnabled(false);
bDisconnect.setBackground(Color.white);
bStationary = new JButton("Show Stationary");
bStationary.setMnemonic(KeyEvent.VK_E);
bStationary.addActionListener(this);
bStationary.setEnabled(false);
bStationary.setBackground(Color.white);
bMoving = new JButton("Show Moving");
bMoving.setMnemonic(KeyEvent.VK_E);
bMoving.addActionListener(this);
bMoving.setEnabled(false);
bMoving.setBackground(Color.white);
JPanel topPanel = new JPanel();
topPanel.add(bConnect);
topPanel.add(bDisconnect);
add(topPanel, BorderLayout.NORTH);
JPanel centerPanel = new JPanel();
centerPanel.add(bRunNoAdj);
centerPanel.add(bRunAdj);
add(centerPanel, BorderLayout.CENTER);
JPanel bottomPanel = new JPanel();
bottomPanel.add(bStationary);
bottomPanel.add(bMoving);
add(bottomPanel, BorderLayout.SOUTH);
}
任何帮助将不胜感激,谢谢。
答案 0 :(得分:6)
最简单的可能是使用JTextArea。
你当然会阻止用户编辑该区域,这可以这样做:
JTextArea area = new JTextArea();
area.setEditable(false);
如果您希望用户能够滚动该区域,您可以将其添加到JScrollPane,如下所示:
JTextArea area = new JTextArea();
JScrollPane scrollableArea = new JScrollPane(area);
最后,您可以通过执行以下操作向该区域添加一行:
area.setText(area.getText() + "\n" + newLine);
或者最好:
area.append("\n" + newLine);
我希望这会有所帮助:)
答案 1 :(得分:5)
使用JTextArea
。在其上调用text_area.setEditable(false);
使其成为只读。
答案 2 :(得分:0)
我认为你的意思是JTextArea或JTextField