public class GUI extends JFrame implements ActionListener { //private BookTable archive; // Important instantiable variabel for making I/O possible!
// Attributes and variables declaration
// JButtons private JButton helpBtn = new JButton("Hjælp"); private JButton addBtn = new JButton("Tilføj", new ImageIcon("media/newnode.jpg")); private JButton removeBtn = new JButton("Fjern"); private JButton updateBtn = new JButton("Opdater"); private JButton listeventsBtn = new JButton("List alle");
// JTextFields private JTextField eventnameField = new JTextField(); private JTextField titleField = new JTextField(); private JTextField artistField = new JTextField(); private JTextField genreField = new JTextField(); private JTextField monthField = new JTextField(); private JTextField dateField = new JTextField(); private JTextField timeField = new JTextField(); private JTextField locationField = new JTextField(); private JTextField priceField = new JTextField();
// JLabels private JLabel jLabel1 = new JLabel(); private JLabel jLabel2 = new JLabel(); private JLabel blankLabel = new JLabel(" "); private JLabel infoLabel = new JLabel(" "); private JLabel eventnameLabel = new JLabel("Projektnavn"); private JLabel titleLabel = new JLabel("Titel"); private JLabel artistLabel = new JLabel("Kunstner(e)"); private JLabel genreLabel = new JLabel("Genre"); private JLabel monthLabel = new JLabel("Måned"); private JLabel dateLabel = new JLabel("Dato (brug DD-MM-ÅÅ format"); private JLabel timeLabel = new JLabel("Tidspunkt (brug TT:MM format"); private JLabel locationLabel = new JLabel("Sted"); private JLabel priceLabel = new JLabel("Pris (skriv med tal)");
// JPanels private JPanel northPanel = new JPanel(); // For logo private JPanel southPanel = new JPanel(); // For infoLabel private JPanel west = new JPanel(); // Main container for inputPanel, addPanel, ruPanel and searchPanel private JPanel inputPanel = new JPanel(); // Contains JLabels + JTextFields private JPanel addPanel = new JPanel(); // Contains addBtn private JPanel ruPanel = new JPanel(); // Contains removeBtn + updateBtn private JPanel searchPanel = new JPanel(); // Contains listeventsBtn private JPanel centerPanel = new JPanel();
// JImageIcons private ImageIcon jLogo = new ImageIcon(); private ImageIcon logo = new ImageIcon("media/logo.jpg");
// Image private Image iconic;
// JTextArea private JTextArea displayArea = new JTextArea();//(5,10); //5,10
// JMenuBar private JMenuBar bar = new JMenuBar();
// JMenus private JMenu editMenu = new JMenu("Rediger"); private JMenu searchMenu = new JMenu("Søg"); private JMenu fileMenu = new JMenu("Filer");
// Submenu for "Søg > arrangement med kunstner(e)" private JMenu addfuncMenu = new JMenu("Søgning >>");
// JMenuItems private JMenuItem addEvent = new JMenuItem("Tilføj arrangement", new ImageIcon("note.gif")); private JMenuItem removeEvent = new JMenuItem("Fjern arrangement"); private JMenuItem updateEvent = new JMenuItem("Opdater arrangement");
private JMenuItem listevents = new JMenuItem("List alle arrangementer"); private JMenuItem findbyeventname = new JMenuItem("Søg på projektnavn"); private JMenuItem findbygenre = new JMenuItem("Søg på genre"); private JMenuItem findbylocation = new JMenuItem("Søg på sted"); private JMenuItem findbymonth = new JMenuItem("Søg på måned"); private JMenuItem findbydate = new JMenuItem("Søg på dato");
//"Search Books by Artist(s)" in submenu... private JMenuItem artistItem = new JMenuItem("Søg arrangementer med kunstner(e)", new ImageIcon("icon_eek.gif"));
private JMenuItem save = new JMenuItem("Gem"); private JMenuItem savequit = new JMenuItem("Gem og afslut"); private JMenuItem quit = new JMenuItem("Afslut uden at gemme");
private static DateFormat df = new SimpleDateFormat("dd-MM-yy");
// End of variables declaration
/** Creates new form GUI */ public GUI() { super(); GridBagConstraints gridBagConstraints;
//helpBtn.setText("Print"); gridBagConstraints = new GridBagConstraints(); gridBagConstraints.anchor = GridBagConstraints.SOUTHEAST; // Place print button in south east position northPanel.add(helpBtn, gridBagConstraints);
// Finally add north to the North BorderLayout getContentPane().add(northPanel, BorderLayout.NORTH);
// Finally add west to the West BorderLayout getContentPane().add(west, BorderLayout.WEST);
/* * displayArea SPECIFICS */
//Assign a JScrollPane to the displayArea in case we need to scroll through tons of records JScrollPane pane = new JScrollPane(displayArea); add(pane);
// Application title setTitle("Dirigenten"); // Application size setSize(950,650); // Create an image object to define application icon iconic = getToolkit().getImage("media/newnode.jpg"); // Apply an icon to application setIconImage(iconic); // Prevent user from resizing application during run-time. Stick to size given above. setResizable(false); // Prevent user from closing via Windows' standard GUI operations //setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
//BookIO.readList(archive); // Denne sætning er rigelig til at kunne indlæse gemte poster!!
eventnameField.setFocusable(true); }
/* * APPLICATION LOGIC */
public void actionPerformed(ActionEvent e) { } /** * @param args the command line arguments */ public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { new GUI().setVisible(true); } }); } }
Jeg vil gerne have at tekstfelterne er ca. halvt så lange. Jeg kan simpelthen ikke finde ud af, hvorfor de bliver så lange. Desuden kan jeg ikke få tilføjet et billede/ImageIcon til northPanel, hvor der pt. er en jLabel2 (med teksten "IMAGE", som bare skal slettes). Håber at en GUI-haj vil kigge på den for mig...
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
public class GUI extends JFrame implements ActionListener { //private BookTable archive; // Important instantiable variabel for making I/O possible!
// Attributes and variables declaration
// JButtons private JButton helpBtn = new JButton("Hjælp"); private JButton addBtn = new JButton("Tilføj", new ImageIcon("media/newnode.jpg")); private JButton removeBtn = new JButton("Fjern"); private JButton updateBtn = new JButton("Opdater"); private JButton listeventsBtn = new JButton("List alle");
// JTextFields private JTextField eventnameField = new JTextField(1); private JTextField titleField = new JTextField(2); private JTextField artistField = new JTextField(3); private JTextField genreField = new JTextField(4); private JTextField monthField = new JTextField(5); private JTextField dateField = new JTextField(6); private JTextField timeField = new JTextField(7); private JTextField locationField = new JTextField(8); private JTextField priceField = new JTextField(9);
// JLabels private JLabel jLabel1 = new JLabel(); private JLabel jLabel2 = new JLabel(); private JLabel blankLabel = new JLabel(" "); private JLabel infoLabel = new JLabel(" "); private JLabel eventnameLabel = new JLabel("Projektnavn"); private JLabel titleLabel = new JLabel("Titel"); private JLabel artistLabel = new JLabel("Kunstner(e)"); private JLabel genreLabel = new JLabel("Genre"); private JLabel monthLabel = new JLabel("Måned"); private JLabel dateLabel = new JLabel("Dato (brug DD-MM-ÅÅ format"); private JLabel timeLabel = new JLabel("Tidspunkt (brug TT:MM format"); private JLabel locationLabel = new JLabel("Sted"); private JLabel priceLabel = new JLabel("Pris (skriv med tal)");
// JPanels private JPanel northPanel = new JPanel(); // For logo private JPanel southPanel = new JPanel(); // For infoLabel private JPanel west = new JPanel(); // Main container for inputPanel, addPanel, ruPanel and searchPanel private JPanel inputPanel = new JPanel(); // Contains JLabels + JTextFields private JPanel addPanel = new JPanel(); // Contains addBtn private JPanel ruPanel = new JPanel(); // Contains removeBtn + updateBtn private JPanel searchPanel = new JPanel(); // Contains listeventsBtn private JPanel centerPanel = new JPanel();
// JImageIcons private ImageIcon jLogo = new ImageIcon(); private ImageIcon logo = new ImageIcon("media/logo.jpg");
// Image private Image iconic;
// JTextArea private JTextArea displayArea = new JTextArea();//(5,10); //5,10
// JMenuBar private JMenuBar bar = new JMenuBar();
// JMenus private JMenu editMenu = new JMenu("Rediger"); private JMenu searchMenu = new JMenu("Søg"); private JMenu fileMenu = new JMenu("Filer");
// Submenu for "Søg > arrangement med kunstner(e)" private JMenu addfuncMenu = new JMenu("Søgning >>");
// JMenuItems private JMenuItem addEvent = new JMenuItem("Tilføj arrangement", new ImageIcon("note.gif")); private JMenuItem removeEvent = new JMenuItem("Fjern arrangement"); private JMenuItem updateEvent = new JMenuItem("Opdater arrangement");
private JMenuItem listevents = new JMenuItem("List alle arrangementer"); private JMenuItem findbyeventname = new JMenuItem("Søg på projektnavn"); private JMenuItem findbygenre = new JMenuItem("Søg på genre"); private JMenuItem findbylocation = new JMenuItem("Søg på sted"); private JMenuItem findbymonth = new JMenuItem("Søg på måned"); private JMenuItem findbydate = new JMenuItem("Søg på dato");
//"Search Books by Artist(s)" in submenu... private JMenuItem artistItem = new JMenuItem("Søg arrangementer med kunstner(e)", new ImageIcon("icon_eek.gif"));
private JMenuItem save = new JMenuItem("Gem"); private JMenuItem savequit = new JMenuItem("Gem og afslut"); private JMenuItem quit = new JMenuItem("Afslut uden at gemme");
private static DateFormat df = new SimpleDateFormat("dd-MM-yy");
// End of variables declaration
/** Creates new form GUI */ public GUI() { super(); GridBagConstraints gridBagConstraints;
//helpBtn.setText("Print"); gridBagConstraints = new GridBagConstraints(); gridBagConstraints.anchor = GridBagConstraints.SOUTHEAST; // Place print button in south east position northPanel.add(helpBtn, gridBagConstraints);
// Finally add north to the North BorderLayout getContentPane().add(northPanel, BorderLayout.NORTH);
// Finally add west to the West BorderLayout getContentPane().add(west, BorderLayout.WEST);
/* * displayArea SPECIFICS */
//Assign a JScrollPane to the displayArea in case we need to scroll through tons of records JScrollPane pane = new JScrollPane(displayArea); add(pane);
// Application title setTitle("Dirigenten"); // Application size setSize(950,650); // Create an image object to define application icon iconic = getToolkit().getImage("media/newnode.jpg"); // Apply an icon to application setIconImage(iconic); // Prevent user from resizing application during run-time. Stick to size given above. setResizable(false); // Prevent user from closing via Windows' standard GUI operations //setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Du kan ændre længden i din teksfelter i constructoren hvor de oprettes:
new JTextField (4); // osv...
Og mht dit logo, så var det fordi du prøvede at add'e et imageicon direkte - og det kan man ikke. Jeg har add'et det til din jLabel2 istedet og add'et den label i stedet.
Det sker ikke i den kode jeg postede tidligere, hvis der sættes en preferredSize på west-panelet. Så jeg kan ikke svare på det, uden at skulle teste eller se koden.
Prøv at tjekke koden jeg postede her, hvis du selvfølgelig vil :) Jeg ved godt at du skal bruge metoderne samt de andre klasser for at kunne tilføje/slette etc., men måske du kan se det ud fra min GUI-programmering, hvorfor der opstår en auto-skalering?
Jeg er meget glad for dit forslag generelt, men lidt ked af at skulle bruge FlowLayout. Men hvis det ikke bliver løst, er FlowLayout vist vejen ud af problemet...
Både med din egen første kode og med den kode jeg postede, sker der ikke noget underligt, når jeg trykker på nogle knapper og teksten er lang.
Du har jo heller ikke udfyldt noget i din actionPerformed i den kode der er posted her, så jeg kan ikke gennemskue hvad der skulle forårsage disse ting.
Jep, det var også koden i actionPerformed jeg mente. Den er dog MEGET omfattende, derfor er det lidt vildt at poste det her. Jeg forsøger lige at kigge på det selv. Du får dog point nu som tak for hjælpen! :-)
Hvis ikke jeg har løst det her i eftermiddag (har en del andet jeg skal have programmeret), så poster jeg lige noget kode - men jeg har lidt svært ved at tro at det skulle være kode fra actionPerformed. Jeg har et par andre spørgsmål kørende herinde uden de store svar, bl.a. på en datoalgoritme... måske du kan være behjælpelig der også? :)
Hej igen mikkelbm > jeg postede en besked inde på Datoalgoritme-tråden om at jeg har uploadet mit projekt... har du evt. tid til at kigge på det i morgen?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.