Skip to content

Instantly share code, notes, and snippets.

@matschaffer
Forked from kattrali/swt_menu_dispose.rb
Created August 26, 2010 13:27
Show Gist options
  • Save matschaffer/551379 to your computer and use it in GitHub Desktop.
Save matschaffer/551379 to your computer and use it in GitHub Desktop.
require 'java'
require 'swt.jar'
class SwtTest
include_package 'org.eclipse.swt.widgets'
import 'org.eclipse.swt.SWT'
def run
puts "Press Enter to Start"
#pause, in case you wan to attach a profiler
gets
shell = Shell.new(Display.new)
shell.layout = org.eclipse.swt.layout.FormLayout.new
#shell.visible = true
i = 0
while true
menu_bar = Menu.new(shell, SWT::DROP_DOWN)
5.times do
menu = Menu.new(menu_bar)
(1..10).each do |j|
item_1 = MenuItem.new(menu, SWT::CASCADE)
item_1.text = "Item #{j}"
end
#menu.visible = true
end
menu_bar.dispose
i = i+1
if (i % 100) == 0
puts i
puts "#{menu_bar} <-- sample menu bar"
end
end
end
end
SwtTest.new.run
require 'java'
require 'swt.jar'
class SwtTest
include_package 'org.eclipse.swt.widgets'
import 'org.eclipse.swt.SWT'
def run
puts "Press Enter to Start"
#pause, in case you wan to attach a profiler
gets
display = Display.new
i = 0
while true
shell = Shell.new(display)
shell.layout = org.eclipse.swt.layout.FormLayout.new
#shell.visible = true
menu_bar = Menu.new(shell, SWT::DROP_DOWN)
5.times do
menu = Menu.new(menu_bar)
(1..10).each do |j|
item_1 = MenuItem.new(menu, SWT::CASCADE)
item_1.text = "Item #{j}"
end
#menu.visible = true
end
shell.dispose
i = i+1
if (i % 50) == 0
puts i
puts "#{shell} <-- sample shell"
end
end
end
end
SwtTest.new.run
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.SWT;
public class SWTMenuDispose {
public static void main(String[] args) throws InterruptedException {
Thread.sleep(5000);
System.out.println("Starting.");
Shell shell = new Shell(new Display());
shell.setLayout(new FormLayout());
Integer repetition = 0;
while (true) {
Menu menuBar = new Menu(shell, SWT.DROP_DOWN);
for (Integer i = 0; i < 5; i++) {
Menu menu = new Menu(menuBar);
for (Integer j = 0; j < 10; j++) {
MenuItem item = new MenuItem(menu, SWT.CASCADE);
item.setText(String.format("Item %d", j));
}
}
menuBar.dispose();
repetition++;
if (repetition % 100 == 0) {
System.out.println(repetition);
System.out.println(menuBar.toString() + " <-- sample menu bar");
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment