giaros71
09-05-2013, 12:43
Salve a tutti,
volevo capire come si fa con java ad ereditare da una classe madre altre classi implementando della grafica...cioe' se creo una finestra modello, posso poi creare delle finestre figlie ereditando le caratteristiche della prima e aggiungendo altri controlli??? comincio a pensare che non sono affatto capace, oppure l'ereditarieta' non si applica alla grafica ma alla n ormale programmazione...
ecco il codice funzionante con un main:
Grazie per le risposte!!
// 4.1 finestra principale
// Definisce le caratteristiche principali di tutte le finestre
// di un'applicazione
package hardgarden;
import java.awt.*;
import javax.swing.*;
public class MainWindow extends JDialog {
JButton cancelJButton;
JButton okJButton;
JLabel titleJlabel;
public MainWindow() {
cancelJButton = new JButton("Cancel");
okJButton = new JButton("OK");
titleJlabel = new JLabel("hardgarden");
// pannello NORD del BorderLayout principale
JPanel northPanel;
northPanel = new JPanel();
northPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
northPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
northPanel.setBackground(Color.white);
northPanel.add(titleJlabel);
// pannello CENTRALE del BorderLayout principale
JPanel centralPanel;
centralPanel = new JPanel();
centralPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
centralPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
centralPanel.setBackground(Color.LIGHT_GRAY);
centralPanel.add(cancelJButton);
centralPanel.add(okJButton);
// pannello SUD del BorderLayout principale
JPanel southPanel;
southPanel = new JPanel();
southPanel.setLayout(new GridLayout(1, 3));
southPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
southPanel.setBackground(Color.white);
// TOP LEVEL CONTAINER
JDialog cornice = new JDialog();
cornice.setTitle("Finestra di dialogo");
cornice.setSize(1000, 500);
cornice.getContentPane().setLayout(new BorderLayout());
cornice.getContentPane().add(BorderLayout.NORTH, northPanel);
cornice.getContentPane().add(BorderLayout.CENTER, centralPanel);
cornice.getContentPane().add(BorderLayout.SOUTH, southPanel);
cornice.setResizable(false);
cornice.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
cornice.pack();
cornice.setVisible(true);
} // fine costruttore MainWindow
} // fine classe MainWindow
volevo capire come si fa con java ad ereditare da una classe madre altre classi implementando della grafica...cioe' se creo una finestra modello, posso poi creare delle finestre figlie ereditando le caratteristiche della prima e aggiungendo altri controlli??? comincio a pensare che non sono affatto capace, oppure l'ereditarieta' non si applica alla grafica ma alla n ormale programmazione...
ecco il codice funzionante con un main:
Grazie per le risposte!!
// 4.1 finestra principale
// Definisce le caratteristiche principali di tutte le finestre
// di un'applicazione
package hardgarden;
import java.awt.*;
import javax.swing.*;
public class MainWindow extends JDialog {
JButton cancelJButton;
JButton okJButton;
JLabel titleJlabel;
public MainWindow() {
cancelJButton = new JButton("Cancel");
okJButton = new JButton("OK");
titleJlabel = new JLabel("hardgarden");
// pannello NORD del BorderLayout principale
JPanel northPanel;
northPanel = new JPanel();
northPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
northPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
northPanel.setBackground(Color.white);
northPanel.add(titleJlabel);
// pannello CENTRALE del BorderLayout principale
JPanel centralPanel;
centralPanel = new JPanel();
centralPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
centralPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
centralPanel.setBackground(Color.LIGHT_GRAY);
centralPanel.add(cancelJButton);
centralPanel.add(okJButton);
// pannello SUD del BorderLayout principale
JPanel southPanel;
southPanel = new JPanel();
southPanel.setLayout(new GridLayout(1, 3));
southPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
southPanel.setBackground(Color.white);
// TOP LEVEL CONTAINER
JDialog cornice = new JDialog();
cornice.setTitle("Finestra di dialogo");
cornice.setSize(1000, 500);
cornice.getContentPane().setLayout(new BorderLayout());
cornice.getContentPane().add(BorderLayout.NORTH, northPanel);
cornice.getContentPane().add(BorderLayout.CENTER, centralPanel);
cornice.getContentPane().add(BorderLayout.SOUTH, southPanel);
cornice.setResizable(false);
cornice.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
cornice.pack();
cornice.setVisible(true);
} // fine costruttore MainWindow
} // fine classe MainWindow