Ответ 1
Если вы думаете, что Swing создает скучные пользовательские интерфейсы, вам действительно нужно получить эту книгу: Filthy Rich Клиенты.
Я долгое время работал с библиотекой Swing, я работаю над новым проектом для школы, и из-за характера программы он не может выглядеть как общий/скучный swing gui. Итак, мой вопрос: кто-нибудь знает интересную библиотеку java gui, которая не качается или awt?
Если вы думаете, что Swing создает скучные пользовательские интерфейсы, вам действительно нужно получить эту книгу: Filthy Rich Клиенты.
Вы можете просто использовать новый Look and Feel.
Набор стандартных виджета: http://www.eclipse.org/swt/
JavaFX возможно?
Хорошо, если вы используете Java 6u10 +, вы можете использовать новый параметр GUI Swing, Nimbus.
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
Я думаю, что SWT/JFace (поставляются с Eclipse, но, возможно, могут использоваться автономно) хорошо разработаны и более интересны в использовании/учебе. Например, JFace следует за методом MVC.
Я не думаю, что вам нужно посмотреть на различные библиотеки графического интерфейса, я думаю, вам нужно посмотреть на разные Look and Feels, мне очень нравится Synthetica, а также некоторые из их Look and Feels бесплатны для некоммерческих приложений.
Взгляните на JavaFX. Он разработан, чтобы быть очень ярким.
Вы также можете попробовать Java Scenegraph "автономный" (т.е. использовать только java + сценарий, а не javafx). Но его документация не очень хорошая. Здесь пример кода, используя сценарий 1.0 ( "Scenario.jar", поставляемый с JavaFX).
import java.awt.Color;
import java.awt.Paint;
import java.awt.geom.Point2D;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import com.sun.scenario.scenegraph.JSGPanel;
import com.sun.scenario.scenegraph.SGGroup;
import com.sun.scenario.scenegraph.fx.FXText;
public class HelloWorldScenario101 implements Runnable {
/**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new HelloWorldScenario101());
}
public HelloWorldScenario101() {
//
}
@Override
public void run() {
this.frame = new JFrame();
this.panel = new JSGPanel();
this.text = new FXText();
this.paint = new Color(255, 0, 0, 255);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Hello World");
frame.add(this.panel);
frame.setContentPane(this.panel);
scene = new SGGroup();
this.text.setText("Hello World");
this.text.setFillPaint(this.paint);
this.text.setLocation(new Point2D.Float(10, 10));
this.scene.add(this.text);
this.panel.setScene(scene);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
private JFrame frame;
private JSGPanel panel;
private SGGroup scene;
private FXText text;
private Paint paint;
}
Я бы настоятельно предложил Qt Jambi , если не было прекращено. Вы можете проверить demo, чтобы посмотреть, как будет выглядеть ваше приложение.
Я все еще жду, чтобы увидеть, как усилия сообщества будут развиваться, прежде чем решиться отказаться от него, но я не стал бы начинать то, что имеет значение для меня в Qt Jambi прямо сейчас, но я думаю, что это будет хорошо подходить для вашей ситуации.
Вы можете использовать Qt для Java Qt-Jambi. Это просто библиотека greate