0
我對Java圖形相對來說比較新。我想在用戶單擊JButton時在JPanel中的(X,Y)座標處繪製20 x 80的矩形。 (其中'X'和'Y'來自2個JTextFields)。如何在按鈕點擊事件中繪製JPanel中的矩形
我已閱讀了許多問題和教程,但無法解決問題。在某些情況下,我可以繪製矩形,但不能在不清空JPanel的情況下繪製新的矩形。
這裏是我的代碼:
public class CustomPanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g); // first draw a clear/empty panel
g.draw3DRect(Integer.parseInt(x.getText()),Integer.parseInt(y.getText()), 20, 80, true);
// then draw using your custom logic.
}
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
//Code for frame
//Code for JTextfields x and y
JButton btnDraw = new JButton("Draw");
btnDraw.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
panel= new CustomPanel();
panel.setBounds(406, 59, 407, 297);
frame.getContentPane().add(panel);
frame.revalidate();
}
});
btnDraw.setBounds(286, 339, 89, 23);
frame.getContentPane().add(btnDraw);
}
向你的JPanel添加一個'Canvas'並繪製它,而不是直接在你的jpanel上繪圖 – redFIVE