我正在尋找將文本框添加到我的JPanel中。這個文本框將類似於Microsoft PowerPoint中的內容:可以調整大小,移動等等。我已經查看了JTextField
,但我不認爲這是我需要的。我做不需要一個彈出框是這樣的:如何在JPanel中添加可編輯文本框
我有一個程序,允許用戶添加,調整大小和移動形狀。我現在希望能夠將文本框放入這些形狀中。下面是我所期待的一個例子:
有反正我能做到這一點?謝謝。
我正在尋找將文本框添加到我的JPanel中。這個文本框將類似於Microsoft PowerPoint中的內容:可以調整大小,移動等等。我已經查看了JTextField
,但我不認爲這是我需要的。我做不需要一個彈出框是這樣的:如何在JPanel中添加可編輯文本框
我有一個程序,允許用戶添加,調整大小和移動形狀。我現在希望能夠將文本框放入這些形狀中。下面是我所期待的一個例子:
有反正我能做到這一點?謝謝。
ComponentResizer類負責調整大小。下面是一個可調整大小的JTextArea工作示例:
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
buildGUI();
}
});
}
private static void buildGUI() {
JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
ComponentResizer cr = new ComponentResizer();
JPanel mainPanel = new JPanel(null);
f.add(mainPanel);
JTextArea textArea = new JTextArea("Some text\nSome other text");
cr.registerComponent(textArea);
mainPanel.add(textArea);
textArea.setBounds(50, 50, 150, 150);
f.setSize(400, 400);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
如果你也想移動的JTextArea中,除了可以ComponentMover使用,並添加以下代碼:
ComponentMover cm = new ComponentMover();
cm.registerComponent(textArea);
cm.setDragInsets(cr.getDragInsets());
無論是手動處理的鍵盤輸入通過KeyListener,或者只使用JTextArea或其他文本組件。 – 2014-10-27 15:01:56
JTextArea接近我所需要的。但我需要它沒有邊框,並只顯示文字。這可能嗎? – nick 2014-10-27 15:02:59
當然。查看API以獲取有用的方法,例如設置邊框的方法。 – 2014-10-27 15:03:41