Avatar billede bootie Nybegynder
11. december 2002 - 13:58 Der er 13 kommentarer og
1 løsning

Java Look and Feel

Hvordan er det lige jeg får mit java program til at ligne Java istedet for windows ?

Det er den der UIManager, men hvordan bruger jeg den lige?
Avatar billede r9 Nybegynder
11. december 2002 - 14:03 #1
try {
        UIManager.setLookAndFeel(
            UIManager.getCrossPlatformLookAndFeelClassName());
    } catch (Exception e) { }
Avatar billede r9 Nybegynder
11. december 2002 - 14:05 #2
der er mange muligheder:

UIManager.getCrossPlatformLookAndFeelClassName()
Returns the string for the one look-and-feel guaranteed to work -- the Java look and feel.
UIManager.getSystemLookAndFeelClassName()
Specifies the look and feel for the current platform. On Microsoft Windows platforms, this specifies the Windows look and feel. On Mac OS platforms, this specifies the Mac OS look and feel. On Sun platforms, it specifies the CDE/Motif look and feel [PENDING: check].
"javax.swing.plaf.metal.MetalLookAndFeel"
Specifies the Java look and feel. (The codename for this look and feel was Metal.) This string is the value returned by the getCrossPlatformLookAndFeelClassName method.
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"
Specifies the Windows look and feel. Currently, you can use this look and feel only on Microsoft Windows systems.
"com.sun.java.swing.plaf.motif.MotifLookAndFeel"
Specifies the CDE/Motif look and feel. This look and feel can be used on any platform.
Avatar billede r9 Nybegynder
11. december 2002 - 14:07 #3
min favorit er "Kunststoff"
Kan hentes gratis her: http://www.incors.org/

Bruges således:
UIManager.setLookAndFeel(new com.incors.plaf.kunststoff.KunststoffLookAndFeel());
Avatar billede bootie Nybegynder
11. december 2002 - 14:10 #4
Hvor er det lige jeg skal sætte try blokken ind henne?

Jeg har en main der initiere en new MyGUI som igen har en init og eller construktoren!
Avatar billede bootie Nybegynder
11. december 2002 - 14:11 #5
en init OG en construktor mener jeg
Avatar billede r9 Nybegynder
11. december 2002 - 14:14 #6
du skal indsætte try blokken som det første i din construktor
Avatar billede bootie Nybegynder
11. december 2002 - 14:26 #7
Det vil den tilsyneladende bare ikke være med til
Kan det have noget med XP at gøre?
Avatar billede bootie Nybegynder
11. december 2002 - 14:29 #8
Avatar billede r9 Nybegynder
11. december 2002 - 14:30 #9
nej, der har ikke noget med xp at gøre.

Prøv at smide din GUI kode her.
Avatar billede bootie Nybegynder
11. december 2002 - 15:09 #10
Der er sgu meget... det er lavet med JBuilder!!..
Men du kan da få den alligevel...:

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

public class MyGUI extends JFrame
{
  private JPanel contentPane;
  private JPanel mainPanel = new JPanel();
  private JPanel topPanel = new JPanel();
  private JPanel bottomPanel = new JPanel();
  private JPanel statusPane = new JPanel();
  private JTable submitList = new JTable();
  private JTable playerList = new JTable();
  private JTable tableList = new JTable();
  private JPanel picturePanel = new JPanel();
  private JPanel leftPanel = new JPanel();
  private BorderLayout borderLayout1 = new BorderLayout();
 
  private JLabel jLabel1 = new JLabel();
  private JLabel timeLeft = new JLabel();
  private JLabel playersDone = new JLabel();
 
  private Border border1;
  private Border border2;
  private TitledBorder titledBorder1;
  private TitledBorder titledBorder2;
 
  private JTextArea chatArea = new JTextArea();
  private JTextField chatField = new JTextField();
  private JTextField textSubmit = new JTextField();
 
  private JButton joinTableButton = new JButton();
  private JButton newTableButton = new JButton();
  private JButton voteButton = new JButton();
 
 

  //Construct the frame
  public MyGUI()
  {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try
    {
        UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
          jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception 
  {
    //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame2.class.getResource("[Your Icon]")));
    contentPane = (JPanel) this.getContentPane();
    border1 = BorderFactory.createEtchedBorder(Color.white,new Color(156, 156, 158));
    titledBorder1 = new TitledBorder(border1,"Get The Picture");
    border2 = BorderFactory.createEtchedBorder(Color.white,new Color(178, 178, 178));
    titledBorder2 = new TitledBorder(border2,"PLayers");
    contentPane.setLayout(borderLayout1);
    this.setSize(new Dimension(662, 501));
    this.setTitle("Get The Picture");
    mainPanel.setLayout(null);
    mainPanel.setBorder(titledBorder1);
    topPanel.setBorder(BorderFactory.createEtchedBorder());
    topPanel.setBounds(new Rectangle(171, 21, 480, 291));
    topPanel.setLayout(null);
    bottomPanel.setBorder(BorderFactory.createEtchedBorder());
    bottomPanel.setBounds(new Rectangle(171, 322, 482, 169));
    bottomPanel.setLayout(null);
    playerList.setBorder(BorderFactory.createLineBorder(Color.black));
    playerList.setBounds(new Rectangle(11, 12, 139, 147));
    chatArea.setBorder(BorderFactory.createLineBorder(Color.black));
    chatArea.setEditable(false);
    chatArea.setLineWrap(true);
    chatArea.setBounds(new Rectangle(159, 12, 311, 121));
    chatField.setBorder(BorderFactory.createLineBorder(Color.black));
    chatField.setText(" Skriv chat tekst her.");
    chatField.setBounds(new Rectangle(159, 137, 311, 21));
    textSubmit.setBorder(BorderFactory.createLineBorder(Color.black));
    textSubmit.setText(" Skriv tekst til billede her.");
    textSubmit.setBounds(new Rectangle(247, 261, 160, 21));
    jLabel1.setText("Send: ");
    jLabel1.setBounds(new Rectangle(210, 258, 37, 26));
    submitList.setBorder(BorderFactory.createLineBorder(Color.black));
    submitList.setBounds(new Rectangle(210, 8, 262, 247));
    picturePanel.setBorder(BorderFactory.createLineBorder(Color.black));
    picturePanel.setBounds(new Rectangle(9, 8, 191, 175));
    picturePanel.setLayout(null);
    leftPanel.setBorder(BorderFactory.createEtchedBorder());
    leftPanel.setBounds(new Rectangle(11, 21, 152, 469));
    leftPanel.setLayout(null);
    tableList.setBorder(BorderFactory.createLineBorder(Color.black));
    tableList.setBounds(new Rectangle(7, 8, 138, 400));
    joinTableButton.setBounds(new Rectangle(8, 418, 63, 31));
    joinTableButton.setText("Join");
    joinTableButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        joinTableButton_actionPerformed(e);
      }
    });
    newTableButton.setBounds(new Rectangle(82, 419, 63, 31));
    newTableButton.setEnabled(false);
    newTableButton.setText("New");
    newTableButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        newTableButton_actionPerformed(e);
      }
    });
    statusPane.setBorder(BorderFactory.createLineBorder(Color.black));
    statusPane.setBounds(new Rectangle(9, 189, 191, 92));
    statusPane.setLayout(null);
    timeLeft.setText("Time Left:");
    timeLeft.setBounds(new Rectangle(7, 6, 176, 24));
    playersDone.setText("Færdige spillere:");
    playersDone.setBounds(new Rectangle(7, 27, 176, 21));
    voteButton.setBounds(new Rectangle(413, 261, 60, 21));
    voteButton.setText("Vote");
    voteButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        voteButton_actionPerformed(e);
      }
    });
    contentPane.add(mainPanel, BorderLayout.CENTER);
    mainPanel.add(bottomPanel, null);
    bottomPanel.add(playerList, null);
    bottomPanel.add(chatArea, null);
    bottomPanel.add(chatField, null);
    mainPanel.add(topPanel, null);
    topPanel.add(textSubmit, null);
    topPanel.add(submitList, null);
    topPanel.add(picturePanel, null);
    mainPanel.add(leftPanel, null);
    leftPanel.add(tableList, null);
    leftPanel.add(joinTableButton, null);
    leftPanel.add(newTableButton, null);
    topPanel.add(statusPane, null);
    statusPane.add(playersDone, null);
    statusPane.add(timeLeft, null);
    topPanel.add(voteButton, null);
    topPanel.add(jLabel1, null);
  }
  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e)
  {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING)
    {
      System.exit(0);
    }
  }

  void joinTableButton_actionPerformed(ActionEvent e)
  {

  }

  void newTableButton_actionPerformed(ActionEvent e)
  {

  }

  void voteButton_actionPerformed(ActionEvent e)
  {

  }
}
Avatar billede r9 Nybegynder
17. december 2002 - 08:34 #11
Lige en kommentar:

WinXP Look and Feel vha. UIManager.getCrossPlatformLookAndFeelClassName());
virker først fra JDK 1.4.2 beta
Avatar billede bootie Nybegynder
17. december 2002 - 12:06 #12
k
Så er det derfor den ikke vil...
Avatar billede bootie Nybegynder
17. december 2002 - 12:08 #13
Lige en kort bemærkning...

Nogle gange skrives der System.exit(1) og nogle gange System.exit(0)
Hvad er forskellen?
Avatar billede r9 Nybegynder
17. december 2002 - 15:51 #14
API'en siger følgende:

exit
public static void exit(int status)Terminates the currently running Java Virtual Machine. The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination.
This method calls the exit method in class Runtime. This method never returns normally.

The call System.exit(n) is effectively equivalent to the call:

Runtime.getRuntime().exit(n)

Parameters:
status - exit status.
Throws:
SecurityException - if a security manager exists and its checkExit method doesn't allow exit with the specified status.
See Also:
Runtime.exit(int)
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