Jump to content

Recommended Posts

Posted

Só deve existir uma JFrame, a não ser que tenhas motivos fortes para uma segunda instância. JFrame é uma classe que representa a aplicação, tem mecanismos para representar todo o ciclo de vida da aplicação e é algo pesado de se criar (comparado com as alternativas). Uma JFrame por aplicação, quantas JDialogs forem necessárias, JPanels que precisares para implementar os teus layouts.

Não tens de usar o CardLayout, depende do tipo de interface gráfica e de interacção que pretendes ter na tua aplicação.

Posted

ok.

Por exemplo eu em c# tinha um form principal, e depois tinhas os outros forms.

Quando eu queria mudar de form , eu fazia hide ao form que estava e fazia show ao form que queria.

Aqui há alguma forma de fazer isto sem usar CardLayout?

Posted (edited)

Isso implica que estás a fazer uma aplicação com muitas janelas sempre a abrir e a fechar e a fazer o utilizador trocar entre todas essas janelas. Podes fazer o mesmo com JDialog, abres e fechas uma JDialog a partir da JFrame, ou de outras JDialogs se necessário. Mas não acho que seja a melhor interacção para o utilizador.

Podes também esconder e mostrar JPanels da mesma maneira, não precisas de um CardLayout, podes colocar todos os paineis em cima uns dos outros e apresentar os que bem entenderes.

Há muitos layout managers diferentes, há bastantes componentes como JSplitPane, JTabbedPane, etc. Muitas formas de fazer uma interacção, mas raramente o método de mostrar forms como indicaste é uma boa opção.

Já agora, tutorial sobre Swing, http://docs.oracle.com/javase/tutorial/uiswing/TOC.html

Edited by Knitter
Posted

ok.

Ja agora estou a tentar executar um ficheiro jar no linux e nao estou a conseguir, e executar pelo netbeans da mas se for na linha de comandos nao dá

Exception in thread "main" java.awt.HeadlessException

at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)

at java.awt.window.<init>(window.java:546)

at java.awt.Frame.<init>(Frame.java:419)

at java.awt.Frame.<init>(Frame.java:384)

at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1754)

at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1831)

at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1692)

at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:864)

at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:668)

at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:639)

at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:610)

at javaapplication1.JavaApplication1.main(JavaApplication1.java:20)

ja fiz build da aplicação tentei executar o jar que ele cria na pasta dist e também não dá.

Posted

Pela excepção estás a tentar executar uma aplicação com interface gráfica num ambiente que não suporta esse tipo de aplicações. Uma "HeadlessException" ocorre quando não tens um ambiente gráfico correctamente configurado ou quando está simplesmente indisponível.

  • 2 weeks later...
Posted

Bom dia,

Para informar que JavaFX, teoricamente, vai substituir SWING. JavaFX e como Windows Presentation Foundation (WPF) no mundo do MS.

Ele segue o padrão das GUI (Graphical User Interface) modernas:

XAML / C # (no WP8 por exemplo)

HTML / JS (na Web)

XML / JAVA (encontra-se no ANDROID por exemplo)

etc...

Posted

Bom dia,

A documentação oficial : http://docs.oracle.com/javafx/index.html

Também pode testar o JavaFX Scene Builder

Existem vários tutorials na Web :

https://www.youtube.com/embed/rHcnsEoSK_c?feature=oembed

Drag-and-Drop Feature in JavaFX Applications :

http://docs.oracle.com/javafx/2/drag_drop/jfxpub-drag_drop.htm

Uma coisa é certa SWING está morto viva JavaFX, SWT / JFace ou até mesmo HTML5 com JAVA !

O melhor livro sobre o assunto que eu sei é : http://www.casadocodigo.com.br/products/livro-javafx

Cordialement

Ernest Duarte

Posted

ok. Vou dar uma vista de olhos.

Ja agora estou a fazer uma aplicação e estou a usar o CardLayout, e num dos jPanels tenho la uma tabela que estou a carregar com dados da base dados, usei o binding mas agora eu quero actualizar a tabela e não consigo, isto é a base dados muda mas a tabela não actualiza, só quando fecho e volto abrir aplicação é que carrega os dados.

Eu tentei fazer varias coisas a ultima foi esta

inquilinoQuery=GestaoiMoveisPUEntityManager.createQuery("SELECT i FROM Inquilino i");
inquilinoList=inquilinoQuery.getResultList();
Iterator<Inquilino> iter=inquilinoList.listIterator();
while(iter.hasnext()){
GestaoiMoveisPUEntityManager.refresh(iter.next());
}

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.