Portal > Foren > Java > Allgemeine Java-Programmierung > Kleines Testprojekt mit Zeichenfehlern
Antwort
 
Themen-Optionen
Alt 21.05.2006, 00:25 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Prophet
 
Registriert seit: 10.05.2006
Ort: Jevenstedt
Beiträge: 131
Standard Kleines Testprojekt mit Zeichenfehlern

Moin,

ich habe ein mit den Swing komponenten von Java ein kleines Fenster erstellt indem ein ein kleines Menü, eine Button und eine TextField gibt. Jetzt wird jedoch keine dieser Komponenten gezeichnet bevor ich sie nicht anklicke (also die position an der sie sein sollten wenn sie sichtbar wären). Dann sehe ich sie. Wenn ich nun das menü verwende und eine Punkt auswähle wird dieser nicht neu gezeichnet. Wie kann ich das beheben?

Gruß, Prophet
__________________
Prophet ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.05.2006, 01:58 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Zitat:
Zitat von Prophet
wird jedoch keine dieser Komponenten gezeichnet bevor ich sie nicht anklicke (also die position an der sie sein sollten wenn sie sichtbar wären).
Sicher, dass du nicht einfach irgendwo hinklicken kannst?

Quelltext wäre sicherlich hilfreich.
Ich könnte jetzt auch mal ins Blaue raten, aber das ist eigentlich nicht Sinn der Sache.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.05.2006, 10:45 Nach oben    #3
Erfahrener Benutzer
 
Benutzerbild von Prophet
 
Registriert seit: 10.05.2006
Ort: Jevenstedt
Beiträge: 131
Standard

Code:
/*
 * Created on 20.05.2006
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package ColorConverter;

import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

import java.awt.Font;
import java.awt.Image;

/**
 * @author Jan Bracker
 * @version 1.0
 *
 * ColorConverter main class. Controlls the Window ans 
 */
public final class ColorConverter extends JFrame {

	/**
	 * ColorConverter -> Constructer
	 */
	public ColorConverter()
	{
		super();
		this.setSize(200, 200);
		this.setResizable(false);
		this.setVisible(true);
		this.setTitle("Color Converter");
		JFrame.setDefaultLookAndFeelDecorated(false);
	}

	public static void main(String[] args) 
	{
		ColorConverter MainWindow = new ColorConverter();
		
		JButton ButtonOK = new JButton("OK-Button");
		ButtonOK.setLayout(null);
		ButtonOK.setSize(100, 100);
		ButtonOK.setVisible(true);
		ButtonOK.setLocation(0, 30);
		
		JTextField Input = new JTextField();
		Input.setLayout(null);
		Input.setSize(95, 100);
		Input.setVisible(true);
		Input.setLocation(100, 30);
		Input.setFont(new Font("Courier New", Font.BOLD | Font.ITALIC, 20));
		
		
		JMenuItem MenuItemNew  = new JMenuItem("New");
		JMenuItem MenuItemSave = new JMenuItem("Save");
		JMenuItem MenuItemLoad = new JMenuItem("Load");
		
		JMenu MenuFile = new JMenu("File");
		MenuFile.add(MenuItemNew);
		MenuFile.add(MenuItemSave);
		MenuFile.add(MenuItemLoad);
		
		JMenuBar MenuBarMain = new JMenuBar();
		MenuBarMain.add(MenuFile);
		MenuBarMain.setSize(MainWindow.getWidth(), 30);
		MenuBarMain.setVisible(true);
		
		
		
		MainWindow.add(ButtonOK);
		MainWindow.add(Input);
		MainWindow.setJMenuBar(MenuBarMain);
		
		
	}
}
Das ist der Quellcode.
__________________
Prophet ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.05.2006, 15:59 Nach oben    #4
Erfahrener Benutzer
 
Benutzerbild von karahead
 
Registriert seit: 23.11.2005
Ort: Stadtallendorf
Beiträge: 139
Standard

Du musst die Reihenfolge der MEthodenaufrufe beachten.
Du machst erst das MainWindow sichtbar (setVisible) und dann fügst du die Komponenten hinzu, was komisch ist.

Entweder setVisible(true) nach dem hinzufügen der Komponenten aufrufen oder nach dem hinzufügen der Komponenten validate() und repaint() aufrufen.

Tipp: Vor dem aufruf von setVisible() solltest du pack() ausführen, das sorgt dafür, dass das Fenster groß genug ist um auch alle Komponenten anzuzeigen.

Gruß KaraHead
__________________
Die Menschen wünschen sich Unsterblichkeit, aber wissen nichts anzufangen an einem verregneten Sonntag Nachmittag.
karahead ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.05.2006, 17:06 Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von Prophet
 
Registriert seit: 10.05.2006
Ort: Jevenstedt
Beiträge: 131
Standard

Jetzt klappt es, vielen dank!
__________________
Prophet ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kleines foreninternes Tippspiel zur Fußball-WM 2006? Ben Plauderecke 286 05.09.2006 21:42
Kleines PHP-Script gesucht sparrow Gesuche 4 26.03.2006 19:45
Kleines Smarty-Problem Chr!s PEAR, PECL und Frameworks 3 14.03.2006 23:34
Ein erstes kleines Resümee - einen Monat Gesamtprojekt Developer's Guide Ben Archiv 0 01.02.2006 16:16
kleines feines soap tutorial für php5 robo47 Literatur 5 24.01.2006 16:10


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:03 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44