Da hast du natürlich recht. Anbei der Code des JFrames. Wie gesagt dieser und die einige Buttons der Toolbar werden (ab und zu) nicht gezeichnet.
[HIGHLIGHT="Java"]import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.jdesktop.swingx.JXStatusBar;
import org.jdesktop.swingx.plaf.basic.BasicStatusBarUI;
import chrriis.dj.nativeswing.NativeComponentWrapper;
public class PlayerFrame extends JFrame implements WebBrowserListener, ServerListener{
private static final long serialVersionUID = 1L;
private Log log;
private Config conf;
private ToolBar ptb;
private JLabel curTitle;
private WebBrowser webBrowser;
private int minWidth;
private int minHeight;
public PlayerFrame(Log log, Config conf, Server server, Web web){
this.log = log;
this.conf = conf;
setLayout(new BorderLayout());
URL imageURL = getClass().getResource("/images/16x16/logo.png");
Image im = Toolkit.getDefaultToolkit().getImage(imageURL);
this.setIconImage(im);
ptb = new ToolBar(log, conf, web);
add(ptb,BorderLayout.NORTH);
String user = conf.get("user");
String pass = conf.get("pass");
webBrowser = new WebBrowser();
webBrowser.setVisible(true);
webBrowser.addWebBrowserListener(this);
server.addServerListener(this);
NativeComponentWrapper ncw = new NativeComponentWrapper(webBrowser);
add(ncw.createEmbeddableComponent(), BorderLayout.CENTER);
add(createStatusBar(), BorderLayout.SOUTH);
pack();
int width = 1024;
if (Toolkit.getDefaultToolkit().getScreenSize().width<width){
width = Toolkit.getDefaultToolkit().getScreenSize().width;
}
int height = 500;
if (Toolkit.getDefaultToolkit().getScreenSize().height<height){
height = Toolkit.getDefaultToolkit().getScreenSize().height;
}
setSize(width, height);
setLocationRelativeTo(getOwner());
}
private JXStatusBar createStatusBar(){
JXStatusBar statusBar = new JXStatusBar();
statusBar.putClientProperty(BasicStatusBarUI.AUTO_ADD_SEPARATOR, Boolean.FALSE);
JXStatusBar.Constraint ct = new JXStatusBar.Constraint(new Insets(0, 5, 0, 5));
curTitle = new JLabel("");
statusBar.add(curTitle, ct);
return statusBar;
}
}[/HIGHLIGHT]