Avatar billede javanewbie Nybegynder
23. juni 2004 - 11:08 Der er 5 kommentarer og
1 løsning

Swing eksempel

Er der nogen der vil være så venlige at lave (eller cut/paste) et eksempel, som jeg kan granske...

Et vindue med BorderLayout. I de yderste behøver der ikke være noget. Jeg kan godt fylde noget på.

I midten skal der så eksempelvis være BoxLayout, som så skal fyldes med f.eks. knapper.

Det er fint med et cut/paste eksempel et eller andet sted fra, hvis bare det er rimeligvis kommenteret.
Avatar billede arne_v Ekspert
23. juni 2004 - 11:16 #1
BorderLayout + BoxLayout + ingen kommentarer :

import javax.swing.*;
import java.awt.*;

public class ShowCircles {
  public static void main(String[] args) {
      JFrame frame = new JFrame("Circles");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      JLabel helloLabel = new JLabel("Test");
      helloLabel.setOpaque(true);
      helloLabel.setBackground(Color.white);
      helloLabel.setForeground(Color.black);
      JPanel westPanel = new JPanel();
      westPanel.setLayout(new GridLayout(3, 1));
      westPanel.add(new MyCircle(Color.red));
      westPanel.add(new MyCircle(Color.red));
      westPanel.add(new MyCircle(Color.red));
      JPanel eastPanel = new JPanel();
      eastPanel.setLayout(new GridLayout(3, 1));
      eastPanel.add(new MyCircle(Color.blue));
      eastPanel.add(new MyCircle(Color.blue));
      eastPanel.add(new MyCircle(Color.blue));
      frame.getContentPane().add(westPanel, BorderLayout.WEST);
      frame.getContentPane().add(helloLabel, BorderLayout.CENTER);
      frame.getContentPane().add(eastPanel, BorderLayout.EAST);
      frame.pack();
      frame.setVisible(true);
  }
}

class MyCircle extends JPanel {
  private Color c;
  public MyCircle(Color c) {
      this.c = c;
      this.setPreferredSize(new Dimension(100, 100));
  }
  public void paintComponent(Graphics g) {
      g.setColor(c);
      g.fillOval(0, 0, 100, 100);
  }
}
Avatar billede javanewbie Nybegynder
23. juni 2004 - 11:39 #2
Øhm... Lad mig se om jeg har fattet det...

I midten sætter du en label, og så laver du nyt layout til højre og venstre (GridLayout)... Og dem fylder du så med cirkler?

Jeg kan ikke se at du sætter BorderLayout nogetsteds. Det er fordi den er default?

Du skriver BorderLayout + BoxLayout, men jeg ikke ikke se hvor du gør brug af BoxLayout?
Avatar billede soreno Praktikant
23. juni 2004 - 11:42 #3
Avatar billede arne_v Ekspert
23. juni 2004 - 11:44 #4
Ja.

Ja (tror jeg).

Min fejl - BorderLayout + GridLayout
Avatar billede javanewbie Nybegynder
23. juni 2004 - 12:13 #5
Arne_v: Smid venligst et svar hvis du vil have point
Avatar billede arne_v Ekspert
23. juni 2004 - 12:22 #6
ok
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester