Zdravim,
chtěl vych pomocí NetBeans udělat jednoduché GUI. Nechci ale progarm psát do jednotlivých tlačítek, chci volat metody jiných tříd. V tomhle konkrétnim případě mačkám nějaký tlačítko, to zavolá metodu jiný třídy, která má změnit hodnotu jakýhosi JPane....
teď mám něco jako:
public class EigerGui extends javax.swing.JFrame {
static EigerGui ui = new EigerGui(); //muj zasah
public EigerGui() {
initComponents();
}
public void addTextJpane1(String string){ //muj setter
/*cpu tady nakej string do jpane*/
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Word word = new Word();
word.nactiButton(ui);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
ui.setVisible(true); //puvodne zde new EigerGui.setVisible(true);
}
});
}
public class Word {
public void nactiButton(EigerGui gui){
/* kod */
gui.addTextJpane1("nejakejstring");
}
}
No... to sice nějak funguje, ale
1) gui vypadá, že nemá takovej ten "look and feel" - je to nevzhledný okno, což před zásahem do kódu generovanýho NetBeans nebylo.. ale to je míň podstatný.
2) na různejch fórech odrazujou od tohodle způsobu předávání referencí na objekty(třídy), většinou kvůli vícevláknovejm aplikacím. Jakej jinej způsob ale mám, když všichni members ve třídě nějakýho JFormu(ale obecně správně celkem ve všech třídách) krom getterů a setterů jsou private?
můžete mně někdo někam postrčit, nasměrovat, nebo ukázat na příkladu, jak bych měl košér postupovat? Nechci psát kód tak, aby to "nějak" fungovalo.. špatnejch návyků už mám i tak dost, tak by můj kód mohl bejt aspoň náznakem čistej :)