(4)调用Button.AddActionListener(...)并使用jTextField.getText()
下面是我的代码:
package GUI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class aaaaa {
// Class attributes
// Overall class attributes
private JFrame frame = new JFrame("Simulation App");
// Class attributes for method setTextFieldPar
private JPanel panelThetaCh = new JPanel();
private JPanel panelSetButton = new JPanel();
private JTextField textFieldThetaCh = new JTextField();
private String StringThetaCh;
// Class attributes for method setButton
private JButton buttonSetPar;
// ========================================================================================================================
// Class methods
// Text field of all simulation parameters
public void setTextFieldPar(JPanel panel, JTextField textField, String latexString){
// Panel layout - FlowLayout
panel.setLayout(new FlowLayout());
panel.setMinimumSize(new Dimension(300, 100));
frame.add(panel);
panel.setAlignmentX(Component.CENTER_ALIGNMENT);
JLabel labelText = new JLabel("text");
panel.add(labelText);
// Create text field
textField = new JTextField(13);
panel.add(textField);
}
// Button "Set Parameters"
public void setButton (JPanel panel){
panel.setLayout(new GridLayout(4, 0));
panel.setMaximumSize(new Dimension(200, 100));
frame.add(panel);
panel.setAlignmentX(Component.CENTER_ALIGNMENT);
buttonSetPar = new JButton("Set Parameters");
panel.add(buttonSetPar);
}
// Monitor input in text field
public void monitorTextField() {
buttonSetPar.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent e) {
// Extract numbers entered in text field for the parameters
StringThetaCh = textFieldThetaCh.getText();
if (StringThetaCh.equals("")) {
JFrame errorWindow = new JFrame("Error");
errorWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
errorWindow.setLocationRelativeTo(null);
JOptionPane.showMessageDialog(errorWindow, "At least one text field is empty, please enter numerical values");
}
}
});
}
// Constructor
public aaaaa(){
frame.setSize(350, 800);
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
// Text field for parameters
setTextFieldPar(panelThetaCh, textFieldThetaCh, "\\theta_{CH}");
// Button for set parameter
setButton(panelSetButton);
// Monitoring input in text field
monitorTextField();
}
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
aaaaa window2 = new aaaaa();
window2.frame.setVisible(true);
}
});
}
}
您已经在类声明中创建了文本字段:
private JTextField textFieldThetaCh = new JTextField();
然后将其传递给方法SettextFieldPar
,并在其中创建另一个添加到面板中的文本字段:
textField = new JTextField(13);
panel.add(textField);
因此,类变量TextFieldTheTach
不是添加到面板中的变量,因此用户无法访问。
只需在SettextFieldPAR
中删除新文本字段的创建,它就可以工作了。
下面是正在发生的事情的可视化表示:
我用JavaSE7安装了netbeans,javafx示例运行良好。在scenebuilder中,我可以为控制器中使用定义和注释的每个控件选择一个ID。然而,我喜欢我组织的项目。当我创建一个新包,并将我的FXML文件移动到那里时,(myapp/views),控制器将保持在它所在的根目录中- 我知道FXML中的“控制器类”,但是因为我没有移动我的控制器,所以不应该改变它。 更具体地说,当我的控制器和
在我的应用程序中,我有一个使用加速器的屏幕。我使用功能键F3在我的应用程序中执行一个操作。它每次都工作得很好,但是当我在这个屏幕上单击任何文本字段时,功能键都不执行。 当我单击textfield然后按F3功能键时,它不起作用。有人知道解决办法?
尝试获得一个简单的isset表单提交,以检查是否在同一页面内点击了post请求,但我无法使其工作? 我希望这句话能在书页上呼应“OK”?我还从实际工作中删减了很多不必要的代码,因为我只是在这里测试原理。但我想我不明白它是如何工作的,因为它是将表单内容发送到URL的,只是我不知道在单击submit按钮后如何运行单独的php代码。
问题内容: 我想了解最佳实践,即如何在AngularJS中设置路由和模板,以向访问者显示不同的前台和登录区域,然后显示仪表板以在相同的基本URL(’/’)上登录用户。 这两页在结构上完全不同,并且还需要不同的资产。 为网站的两个部分设置两个不同的应用程序是否更好,但是我将如何管理这两个部分之间的会话? 还是在主体标签之间没有任何内容的“空”布局将不同的模板加载到其中,并为前部分和仪表板部分进行单独
我正在尝试在我网站上的图表上应用缩放功能。或多或少,图表的实际代码是我在以下CodePen中添加的代码:https://codepen.io/leonardodaga/pen/eYNZdVV 此示例有效,但我正在尝试使用不同的 xAxis 类型(不是“时间”),并使用回调来格式化 xAxis 刻度线(现在在 CodePen 中注释): 移除类型:“时间”缩放结束工作。我正在做的事情有问题吗?
当我试图将@Aspect映射到SettingService中定义的方法之一时,问题就开始了。这样地: 我的服务是这样的: 不知道为什么,在方法()执行后没有调用方面。神秘的是,方面可以与其他类一起工作/当类被注入类型为Blablabla$$EnhancerBySpringCGLIB时,这意味着什么?谢谢。