[英]Adding a string to a panel from a JOptionPane
我正在开发一个允许用户输入消息的程序。 当用户按下位于我框架中的“消息”菜单项时,会弹出一个JOptionPane
输入对话框,提示他们输入字符串。 问题是我现在必须获取该字符串并将其粘贴到面板类中。 另外,当用户按下也位于我框架中的另一个菜单项时,我还允许用户从其他对话框中选择形状和颜色。 字符串必须位于我绘制的形状之上。 我已经尝试过绘制字符串,但是它无法正常运行。 这是我的代码不起作用。 我只希望在JOptionPane
上单击OK时在面板上绘制字符串。 我该怎么办?
在我的框架中
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);
}
}
设置消息后,您是否调用过repaint() ? 我之前尝试过,重新绘制JFrame似乎无效,但是重新绘制JPanel即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.