2

Does IntelliJ have any special support for developing a MDI (Multiple Document Interface) application? I found some generic articles that go over creating one in Java, but I was wondering if IntelliJ makes it any easier.

I'm using IntelliJ 11 (Community Edition) if that matters.

Joao Coelho
  • 2,838
  • 4
  • 30
  • 36

1 Answers1

4

I kind of doubt it. You can just design panels in the normal gui designer and then put them into internal frames. As far as I know the basic gui designer would be sufficient for that.

By coincidence, a co-worker and I were just discussing MDI this afternoon, because I was using SoapUI (which is MDI). We both agreed that MDI is a pretty rough for the users. Internal frames are constrained by the main frame, so the space quickly becomes cluttered and things become hard to find. Users are constantly sorting through them to find what they want. Have you noticed that most apps these days either use multiple top level windows or tabbed panes?

BillRobertson42
  • 12,602
  • 4
  • 40
  • 57
  • Fully agree. A docking framework library might be a better choice. – Joop Eggen Jan 20 '12 at 03:45
  • Yes, docking, that was the term that was eluding me. Thanks! – BillRobertson42 Jan 20 '12 at 03:47
  • Combining `Action` with `JMenuItem` can somewhat mitigate the problem, as mentioned [here](http://stackoverflow.com/a/2741726/230513). – trashgod Jan 20 '12 at 03:48
  • I think you might be right on the MDI clutterness. This is an application for users who don't know much about computers and MDI may not be the better choice. I'm at the beginning of it all, so I'll really think about it before coding away.. Tx! – Joao Coelho Jan 20 '12 at 11:11
  • The nice thing about creating forms in a JPanel is that you can put it into multiple places easily. So you could switch them from a tabbed pane to an internal frame, or a card layout or whatever. It gives you a bit more freedom to experiment. – BillRobertson42 Jan 20 '12 at 11:54
  • Yes, I think that's what I'll do. And I checked out some docking frameworks [here](http://stackoverflow.com/q/304874/205075) and will try one of them. – Joao Coelho Jan 20 '12 at 12:23