-1
두 동일한 패키지의 클래스,자바는 다른 클래스에서
공공 정적 및 인스턴스 변수의 콤보를 가지고 메인 클래스를 내 메인 클래스의 메소드를 호출. instance
이라는 클래스의 인스턴스를 만듭니다.
하위 클래스가 아닌 또 다른 클래스 Login
은 업무용이지만 main에서 guiInstance 메서드를 호출하려고합니다.
문제는 내가 작동하지 않는 것 같아서 Login
클래스가 공개되어 있어도 "GUI"인스턴스 또는 클래스의 모든 메소드를 찾을 수 없습니다.
방금 원하는 구성으로 새 패키지를 만들었고 분명히 메서드 호출 방법에 대한 잘못된 생각을 가지고 있습니다.
public class GUI {
JPanel jp = new JPanel();
public static void main(String[] args) {
GUI instance = new GUI();
}
public void ping(){
System.out.println("that worked");
}
}
public class Login extends JPanel {
/** Creates new form Login */
public Login() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jButton1 = new javax.swing.JButton();
jButton1.setText("jButton1");
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton1MouseClicked(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(112, 112, 112)
.addComponent(jButton1)
.addContainerGap(215, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(46, 46, 46)
.addComponent(jButton1)
.addContainerGap(231, Short.MAX_VALUE))
);
}// </editor-fold>
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
instance.ping();
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
// End of variables declaration
}
자리를 - 내가 좋아하는 뭔가를 추가
Login
에, 그래서 당신이 당신의Login
생성자에GUI
인스턴스를 전달 제안 이전에는 해본 적이 없으며 Google에서 불가능하다고 판단되는 부분을 알지 못할 때 발생해야합니다. 그것 모두는 지금 아주 간단한 것처럼 보인다! 감사!!! – SimoneyHoneyNitpick : 확실히 정확하고 개인적으로, 나는 어떤 종류의 인터페이스를 Login에 전달하기를 원합니다. 로그인 할 필요가 없거나 액세스 할 수 있어야하는 GUI 요소를 노출하지 않기 위해서입니다. – MadProgrammer
감사합니다. MadProgrammer에게 감사드립니다. 당신은 그것을 구현하기위한 코드 포인터가 있습니까? – SimoneyHoney