import java.awt.BorderLayout;
import java.awt.Color;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.FontMetrics;
import java.awt.Graphics;
public void nonBlockingDialog(String title, String message, String button,
int type, boolean scrollable, boolean modal)
{
- nonBlockingDialog(32, 2, title, message, button, type, scrollable,
+ nonBlockingDialog(32, 2, title, message, null, button, type, scrollable,
modal);
}
public void nonBlockingDialog(int width, int height, String title,
- String message, String button, int type, boolean scrollable,
- boolean modal)
+ String message, String boxtext, String button, int type,
+ boolean scrollable, boolean modal)
{
if (type < 0)
{
type = JvOptionPane.WARNING_MESSAGE;
}
+ JLabel jl = new JLabel(message);
+
JTextArea jta = new JTextArea(height, width);
// jta.setLineWrap(true);
jta.setEditable(false);
jta.setWrapStyleWord(true);
jta.setAutoscrolls(true);
- jta.setText(message);
+ jta.setText(boxtext);
JScrollPane jsp = scrollable
? new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
: null;
JvOptionPane jvp = JvOptionPane.newOptionDialog(this);
+
+ JPanel jp = new JPanel();
+ jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
+
+ if (message != null)
+ {
+ jl.setAlignmentX(Component.LEFT_ALIGNMENT);
+ jp.add(jl);
+ }
+ if (boxtext != null)
+ {
+ if (scrollable)
+ {
+ jsp.setAlignmentX(Component.LEFT_ALIGNMENT);
+ jp.add(jsp);
+ }
+ else
+ {
+ jta.setAlignmentX(Component.LEFT_ALIGNMENT);
+ jp.add(jta);
+ }
+ }
+
jvp.setResponseHandler(JOptionPane.YES_OPTION, () -> {
});
- jvp.showDialogOnTopAsync(this, scrollable ? jsp : jta, title,
- JOptionPane.YES_OPTION, type, null, new Object[]
+ jvp.showDialogOnTopAsync(this, jp, title, JOptionPane.YES_OPTION, type,
+ null, new Object[]
{ button }, button, modal, null, false);
}