Originalmente inviato da
mathis
Magari quel problema lo lasciamo per dopo
Adesso io avevo pensato di inserire due metodi in una classe ma, pur non ricevendo errori, non visualizza niente.
Istanza della mia classe contenente i due metodi:
Codice:
private class LeftPanel extends JLabel {
public LeftPanel() {
setText("TRA");
setFont(new Font("Courier", Font.ITALIC, 28));
setVerticalAlignment(JLabel.NORTH);
}
public void InputTra(){
JTextField tra = new JTextField(5);
setVerticalAlignment(JTextField.NORTH);
}
}
Creazione dell'oggetto:
Codice:
contents.add(new LeftPanel());
---EDIT---
Avevo sbagliato a copiare il codice (avevo preso quello di un secondo file).
Il problema è che non riesco ad invocare il metodo InputTra();
Per poter chiamare il metodo InputTra() di una classe privata non statica devi avere un oggetto di tipo LeftPanel().
E poi il metodo InputTra() crea un istanza di JTextField() che viene dimenticata alla fine della funzione InputTra(), perchè non viene attaccata a nessun container.
Prova:
Codice:
LeftPanel mLeftPanel = new LeftPanel();
JTextField mInputTra = mLeftPanel.InputTra();
mContainer.add(mLeftPanel);
mContainer.add(mInputTra);
//Questo sopra nel caso vuoi attaccare tutto allo stesso container...altrimenti puoi fare:
mLeftPanel.add(mLeftPanel.InputTra());
mContainer.add(mLeftPanel);
//E la classe diventa:
Codice:
private class LeftPanel extends JLabel {
public LeftPanel() {
setText("TRA");
setFont(new Font("Courier", Font.ITALIC, 28));
setVerticalAlignment(JLabel.NORTH);
}
public JTextField InputTra(){
JTextField tra = new JTextField(5);
setVerticalAlignment(JTextField.NORTH);
return tra;
}
}
EDIT: Oppure ancora, evitando la parte di codice dove attacchi l'InputTra al LeftPanel:
Codice:
private class LeftPanel extends JLabel {
public LeftPanel() {
setText("TRA");
setFont(new Font("Courier", Font.ITALIC, 28));
setVerticalAlignment(JLabel.NORTH);
add(InputTra());
}
private JTextField InputTra(){
JTextField tra = new JTextField(5);
setVerticalAlignment(JTextField.NORTH);
return tra;
}
}