ユーザーがメッセージを入力できるようにするプログラムに取り組んでいます。ユーザーがフレームにある「メッセージ」メニュー項目を押すと、JOptionPane
入力ダイアログ ボックスがポップアップ表示され、文字列を入力するように求められます。問題は、その文字列を取得して、パネル クラスに貼り付けなければならないことです。さらに、ユーザーがフレーム内にある別のメニュー項目を押したときに、別のダイアログ ボックスから形状と色を選択できるようにします。文字列は、私が描いた形状の上になければなりません。ドローストリングを試してみましたが、正しく機能していません。これが機能していない私のコードです。で OK を押したときに、パネルに文字列を描画したいだけですJOptionPane
。どうすればいいですか?
私のフレームで
private void messageItemActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String message = JOptionPane.showInputDialog("Enter your string");
// my panel
drawP.setMessage(message);
}
私のパネルで
public void setMessage(String s) {
message = s;
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// the user can select two different shapes this is
// a boolean
if (shape == true) {
g.setColor(shapeColor);
g.fillRect(x, y, 40, 40);
g.drawString(message, x, y);
} else {
g.setColor(shapeColor);
g.fillOval(x, y, 40, 40);
g.drawString(message, x, y);
}
}