如何在java类中使用其他类变量?
好的,我试着熟悉Java,我做了一件简单的事情,如果你点击一个按钮,就会出现一些文本。如何使按钮和标签在一个类文件中创建,并在另一个类文件中单击按钮时放置代码?抱歉,如果这听起来像个愚蠢的问题 Pastebin代码:如何在java类中使用其他类变量?,java,swing,class,Java,Swing,Class,好的,我试着熟悉Java,我做了一件简单的事情,如果你点击一个按钮,就会出现一些文本。如何使按钮和标签在一个类文件中创建,并在另一个类文件中单击按钮时放置代码?抱歉,如果这听起来像个愚蠢的问题 Pastebin代码: package com.nate.derp; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JButton; import
package com.nate.derp;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Derp {
private JFrame frmHello;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Derp window = new Derp();
window.frmHello.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Derp() {
initialize();
}
public void initialize() {
frmHello = new JFrame();
frmHello.setTitle("Hello");
frmHello.setBounds(100, 100, 225, 160);
frmHello.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmHello.getContentPane().setLayout(null);
final JLabel helloLabel = new JLabel("Hello World!");
helloLabel.setVisible(false);
helloLabel.setBounds(40, 89, 145, 16);
frmHello.getContentPane().add(helloLabel);
final JButton btnClickMe = new JButton("Click Me!");
btnClickMe.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
helloLabel.setVisible(true);
}
});
btnClickMe.setBounds(54, 29, 117, 29);
frmHello.getContentPane().add(btnClickMe);
}
}
您可以通过创建一个JButton并添加一个ActionListener来实现这一点,它可以由另一个类实现 因此,首先创建JButton:
Jbutton button = new JButton("hello");
然后添加Actionlistener:
button.addActionListener(new MyListener());
MyListener是您的实现类
class MyListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
...
}
}
在发布到目前为止您已经完成的代码之后,我们将帮助您重新组织有关OOP设计的问题,如果没有每个组件/类正在做什么以及它们之间的关系的上下文,这个问题实际上是没有意义的。有多种方法可以实现这一点(即,
静态
类、组件模式、事件处理程序模式),它们在某些情况下都是相关的。当我试图将其发布到这里时,我不断收到格式错误,所以我希望如果我将其放在pastebin上就可以了()@Natatos,我将您的pastebin代码添加到您的问题中