#java #swing #awt #look-and-feel #uimanager
#java #swing #awt #внешний вид #uimanager
Вопрос:
Я пытаюсь заставить внешний вид работать без успеха. Я создаю фрейм и рисую апплет внутри него. При выполнении программы исключений не возникает.
AppScreen < Апплет:
public class AppScreen extends Applet implements Runnable {
protected AppFrame frame;
protected Graphics appGraphics;
public void createFrame(int width, int height) throws Exception {
UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceRavenGraphiteGlassLookAndFeel");
frame = new AppFrame(this, width, height);
appGraphics = getAppComponent().getGraphics();
startThread(this, 1);
}
public void startThread(Runnable runnable, int i) {
final Thread thread = new Thread(runnable);
thread.start();
thread.setPriority(i);
}
public Component getAppComponent() {
if (frame != null)
return frame;
else
return this;
}
}
AppFrame < Фрейм:
public final class AppFrame extends Frame {
private final AppScreen screen;
public AppFrame(AppScreen screen, int width, int height) {
this.screen = screen;
setBounds(500, 500, width, height);
setResizable(false);
setVisible(true);
toFront();
}
@Override
public final void update(Graphics g) {
screen.update(g);
}
@Override
public final void paint(Graphics g) {
screen.paint(g);
}
}
Например, я вызываю метод createFrame(width, height) .
Комментарии:
1. L amp; F — это концепция Swing и относится только к компонентам Swing. java.awt.Applet и java.awt.Frame не являются компонентами Swing и всегда будут отображаться с использованием собственной системы пользовательского интерфейса.
2. @OlegEstekhin Есть ли способ, который я могу использовать, чтобы обойти это. Например, создание javax.swing. JFrame и рисование апплета внутри него?
3. Используйте компоненты Swing вместо AWT(
Applet
->JApplet
,Frame
->JFrame
…)4. @alex2410 должен быть ответом, потому что AWT не имеет доступа к L amp; F, строго основан на одноранговых узлах из родной ОС
5. Используйте компоненты Swing, как говорят другие, и установите L amp; F в вашем основном методе перед созданием любого компонента.